home *** CD-ROM | disk | FTP | other *** search
/ Internet.Works 39 / Issue 39.iso / pc / PCSoftware / AceHTML 4.0 / AceHTML4Pro.exe / %MAINDIR% / ScriptDef / Advanced Calculator.sd < prev    next >
Encoding:
INI File  |  2000-08-31  |  3.9 KB  |  166 lines

  1. [SUBJECT]
  2. Description=Comprehensive calculator
  3. ImageIndex=-1
  4. Folder=Quick JavaScript
  5.  
  6.  
  7. [BODY_TEXT]
  8. ;<CENTER>
  9. ;<FORM name="Keypad" action="">
  10. ;
  11. ;<TABLE>
  12. ;<B>
  13. ;<TABLE border=2 width=50 height=60 cellpadding=1 cellspacing=5>
  14. ;<TR>
  15. ;<TD colspan=3 align=middle>
  16. ;<input name="ReadOut" type="Text" size=24 value="0" width=100%>
  17. ;</TD>
  18. ;<TD
  19. ;</TD>
  20. ;<TD>
  21. ;<input name="btnClear" type="Button" value="  C  " onclick="Clear()">
  22. ;</TD>
  23. ;<TD><input name="btnClearEntry" type="Button" value="  CE " onclick="ClearEntry()">
  24. ;</TD>
  25. ;</TR>
  26. ;<TR>
  27. ;<TD>
  28. ;<input name="btnSeven" type="Button" value="  7  " onclick="NumPressed(7)">
  29. ;</TD>
  30. ;<TD>
  31. ;<input name="btnEight" type="Button" value="  8  " onclick="NumPressed(8)">
  32. ;</TD>
  33. ;<TD>
  34. ;<input name="btnNine" type="Button" value="  9  " onclick="NumPressed(9)">
  35. ;</TD>
  36. ;<TD>
  37. ;</TD>
  38. ;<TD>
  39. ;<input name="btnNeg" type="Button" value=" +/- " onclick="Neg()">
  40. ;</TD>
  41. ;<TD>
  42. ;<input name="btnPercent" type="Button" value="  % " onclick="Percent()">
  43. ;</TD>
  44. ;</TR>
  45. ;<TR>
  46. ;<TD>
  47. ;<input name="btnFour" type="Button" value="  4  " onclick="NumPressed(4)">
  48. ;</TD>
  49. ;<TD>
  50. ;<input name="btnFive" type="Button" value="  5  " onclick="NumPressed(5)">
  51. ;</TD>
  52. ;<TD>
  53. ;<input name="btnSix" type="Button" value="  6  " onclick="NumPressed(6)">
  54. ;</TD>
  55. ;<TD>
  56. ;</TD>
  57. ;<TD align=middle><input name="btnPlus" type="Button" value="  +  " onclick="Operation('+')">
  58. ;</TD>
  59. ;<TD align=middle><input name="btnMinus" type="Button" value="   -   " onclick="Operation('-')">
  60. ;</TD>
  61. ;</TR>
  62. ;<TR>
  63. ;<TD>
  64. ;<input name="btnOne" type="Button" value="  1  " onclick="NumPressed(1)">
  65. ;</TD>
  66. ;<TD>
  67. ;<input name="btnTwo" type="Button" value="  2  " onclick="NumPressed(2)">
  68. ;</TD>
  69. ;<TD>
  70. ;<input name="btnThree" type="Button" value="  3  " onclick="NumPressed(3)">
  71. ;</TD>
  72. ;<TD>
  73. ;</TD>
  74. ;<TD align=middle><input name="btnMultiply" type="Button" value="  *  " onclick="Operation('*')">
  75. ;</TD>
  76. ;<TD align=middle><input name="btnDivide" type="Button" value="   /   " onclick="Operation('/')">
  77. ;</TD>
  78. ;</TR>
  79. ;<TR>
  80. ;<TD>
  81. ;<input name="btnZero" type="Button" value="  0  " onclick="NumPressed(0)">
  82. ;</TD>
  83. ;<TD>
  84. ;<input name="btnDecimal" type="Button" value="   .  " onclick="Decimal()">
  85. ;</TD>
  86. ;<TD colspan=3>
  87. ;</TD>
  88. ;<TD>
  89. ;<input name="btnEquals" type="Button" value="  =  " onclick="Operation('=')">
  90. ;</TD>
  91. ;</TR>
  92. ;</TABLE>
  93. ;</TABLE>
  94. ;</B>
  95. ;</FORM>
  96. ;</CENTER>
  97. ;<font face="Verdana, Arial, Helvetica" size=2>
  98. ;<SCRIPT LANGUAGE="JavaScript">
  99. ;<!-- Begin
  100. ;var FKeyPad = document.Keypad;
  101. ;var Accum = 0;
  102. ;var FlagNewNum = false;
  103. ;var PendingOp = "";
  104. ;function NumPressed (Num) {
  105. ;if (FlagNewNum) {
  106. ;FKeyPad.ReadOut.value  = Num;
  107. ;FlagNewNum = false;
  108. ;   }
  109. ;else {
  110. ;if (FKeyPad.ReadOut.value == "0")
  111. ;FKeyPad.ReadOut.value = Num;
  112. ;else
  113. ;FKeyPad.ReadOut.value += Num;
  114. ;   }
  115. ;}
  116. ;function Operation (Op) {
  117. ;var Readout = FKeyPad.ReadOut.value;
  118. ;if (FlagNewNum && PendingOp != "=");
  119. ;else
  120. ;{
  121. ;FlagNewNum = true;
  122. ;if ( '+' == PendingOp )
  123. ;Accum += parseFloat(Readout);
  124. ;else if ( '-' == PendingOp )
  125. ;Accum -= parseFloat(Readout);
  126. ;else if ( '/' == PendingOp )
  127. ;Accum /= parseFloat(Readout);
  128. ;else if ( '*' == PendingOp )
  129. ;Accum *= parseFloat(Readout);
  130. ;else
  131. ;Accum = parseFloat(Readout);
  132. ;FKeyPad.ReadOut.value = Accum;
  133. ;PendingOp = Op;
  134. ;   }
  135. ;}
  136. ;function Decimal () {
  137. ;var curReadOut = FKeyPad.ReadOut.value;
  138. ;if (FlagNewNum) {
  139. ;curReadOut = "0.";
  140. ;FlagNewNum = false;
  141. ;   }
  142. ;else
  143. ;{
  144. ;if (curReadOut.indexOf(".") == -1)
  145. ;curReadOut += ".";
  146. ;   }
  147. ;FKeyPad.ReadOut.value = curReadOut;
  148. ;}
  149. ;function ClearEntry () {
  150. ;FKeyPad.ReadOut.value = "0";
  151. ;FlagNewNum = true;
  152. ;}
  153. ;function Clear () {
  154. ;Accum = 0;
  155. ;PendingOp = "";
  156. ;ClearEntry();
  157. ;}
  158. ;function Neg () {
  159. ;FKeyPad.ReadOut.value = parseFloat(FKeyPad.ReadOut.value) * -1;
  160. ;}
  161. ;function Percent () {
  162. ;FKeyPad.ReadOut.value = (parseFloat(FKeyPad.ReadOut.value) / 100) * parseFloat(Accum);
  163. ;}
  164. ;// End -->
  165. ;</SCRIPT>
  166.